a, b, ans, c = input(), input(), 0, [0]
d = len(b) - len(a)
for i in range(len(b)):
c.append(c[-1] + int(b[i]))
for i in range(len(a)):
ones = c[d + i + 1] - c[i]
zeros = d + 1 - ones
ans += ones if a[i] == "0" else zeros
print(ans)
#include <bits/stdc++.h>
using namespace std;
int main() {
string s,t;
cin>>s>>t;
set<string>se;
long long sum=0;
vector<int>z(t.size()+1),o(t.size()+1);
for(int i=0;i<t.size();i++)
{
z[i+1]+=z[i]+(t[i]=='0');
o[i+1]+=o[i]+(t[i]=='1');
}
for(int i=0;i<s.size();i++)
{
int l=i,r=t.size()-s.size()+i+1;
if(s[i]=='1') sum+=z[r]-z[l];
else
sum+=o[r]-o[l];
}
cout<<sum;
return 0;
}
1619B - Squares and Cubes | 1619A - Square String |
1629B - GCD Arrays | 1629A - Download More RAM |
1629C - Meximum Array | 1629D - Peculiar Movie Preferences |
1629E - Grid Xor | 1629F1 - Game on Sum (Easy Version) |
2148. Count Elements With Strictly Smaller and Greater Elements | 2149. Rearrange Array Elements by Sign |
2150. Find All Lonely Numbers in the Array | 2151. Maximum Good People Based on Statements |
2144. Minimum Cost of Buying Candies With Discount | Non empty subsets |
1630A - And Matching | 1630B - Range and Partition |
1630C - Paint the Middle | 1630D - Flipping Range |
1328A - Divisibility Problem | 339A - Helpful Maths |
4A - Watermelon | 476A - Dreamoon and Stairs |
1409A - Yet Another Two Integers Problem | 977A - Wrong Subtraction |
263A - Beautiful Matrix | 180C - Letter |
151A - Soft Drinking | 1352A - Sum of Round Numbers |
281A - Word Capitalization | 1646A - Square Counting |